查看原文
其他

R语言绘制群落物种累积曲线

生信小白鱼 鲤小白 小白鱼的生统笔记 2022-05-08
R语言绘制物种累积曲线

物种累积曲线(Species accumulation curves,SAC),用于估计特定区域中的物种数量。物种累积曲线反映的是抽样个数对物种多样性的影响,当抽样个数较少时,发现的物种并不全面,并不能表征整个群落结构;随着抽样个数的上升,发现的物种种类数越来越多,也更能表征这个群落结构。这里的“抽样”,既可以指物种个体数量,也可以指观测的样方数量。

本篇带来R语言绘制物种累积曲线的方法。vegan包是生态统计的常用R包,我们通过调用其方法实现。同时使用到其内置数据集BCI,它的每一行代表了一个取样样方,每一列代表了一种物种,交叉区域为各样方中观测到的该物种个体数量。

 

如上所述,“抽样”既可以指物种个体数量,也可以指观测的样方数量,因此,物种累积曲线常见两种表现形式。

第一种表现形式,横坐标为调查到的个体数量,纵坐标为物种种类数。随着调查到的个体数量逐渐增加,曲线趋近平缓,代表群落中的物种接近全部被观测到;反之表明不饱和,还需继续调查物种。这种类型的曲线,也即前篇所提到的“稀释曲线”,细节本篇不再作更多描述,可参阅前文

library(vegan)

#使用 vegan 自带的数据集 BCI,第一种类型的物种累积曲线,也就是稀释曲线
data(BCI)

#展示 5 个样方的物种累积曲线(稀释曲线)
#详情 ?rarecurve
rarecurve(BCI[1:5,], step = 20, col = c('red', 'green', 'blue', 'orange', 'purple', 'black'))


第二种表现形式,横坐标为样本数量,纵坐标为物种种类数。随着取样样本(所观测的样方)数量逐渐增加,所观测到的物种种类也不断增加。当曲线趋近平缓时,代表群落中的物种接近全部被观测到;反之不饱和,还需继续观测更多的样方。

##使用 vegan 自带的数据集 BCI,第二种类型的物种累积曲线
data(BCI)

#函数 specaccum() 可以统计一定数量的采样点的物种数量
#详情 ?specaccum
sp <- specaccum(BCI, method = 'random')
sp
summary(sp)

#作图展示
plot(sp, ci.type = 'poly', col = 'blue', lwd = 2, ci.lty = 0, ci.col = 'lightblue')
boxplot(sp, col = 'yellow', add = TRUE, pch = '+')

#可通过 fitspecaccum() 在其中拟合非线性物种累积模型,例如
mod <- fitspecaccum(sp, model = 'lomolino') #Fit Lomolino model to the exact accumulation
mod <- fitspecaccum(sp, model = 'arrh') #Fit Arrhenius models to all random accumulations

#查看拟合模型
coef(mod)
fitted(mod)

#作图展示
plot(mod, col = 'hotpink')
boxplot(sp, col = 'yellow', border = 'blue', lty = 1, cex = 0.3, add = TRUE)


作图部分到这里就结束了。

下面的内容,主要建立在第二种类型的物种累积曲线的基础上做延伸,有兴趣的话可以继续往下看,对群落研究具有一定的帮助。

如上所述,我们可以根据物种累积曲线拟合回归模型,并据此推断物种数量是否达到了“饱和”。

#BCI 数据集共计 50 个样方
#specslope() 可在给定数量的样方中评估物种积累曲线的导数,用于表征物种数量的增加率
#可知数值越小,表明曲线越趋饱和
sp <- specaccum(BCI, method = 'exact')
specslope(sp, at = 5)
specslope(sp, at = 25)
specslope(sp, at = 45)

许多物种在样地集中将始终不可见或未被发现,vegan包中提供了相关的评估这些未被观测到的物种的方法。

#poolaccum() 使用一些流行的方法来估计这些未见物种的数量,并将它们添加至观察到的物种丰富度中
#详情 ?poolaccum
pool <- poolaccum(BCI)
summary(pool, display = 'chao')

plot(pool)

#或者直接通过定量模型表征
#即计算 Chao1、ACE 指数,反映这些未见物种的数量
#详情 ?estimateR
estimateR(BCI)

关于这里的Chao1、ACE指数的概念可参考前文



链接

R语言绘制物种Rank-abundance曲线

R语言绘制物种稀释曲线及其它多种Alpha多样性曲线

R语言计算群落多样性分析中常见Alpha多样性指数

群落多样性分析中常见Alpha多样性指数简介

R语言绘制三元图(Ternary Plot)示例

突破韦恩图数量限制,R包UpSetR集合可视化

R语言绘制提琴图

R语言绘制箱线图

R语言绘制双向柱状图

R语言绘制堆叠面积图

R语言绘制堆叠柱状图

R语言绘制星形图



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存